Achtung : Die Ihnen vorliegende Version ist eine Vorab-Version. Der Text beschreibt, wie es einmal werden soll. Versionen vor 1.0.0 sind noch fehlerhaft !
1. Ein kleine Einführung
Die Macintoshs der Reihen Plus,SE und Portable haben von Apple aus den Microprozessor 68000 eingebaut. Apple selbst bietet keine Erweiterungen auf größere Prozessoren an. Die größeren Macintoshs haben entweder den 68020 (Mac II) oder den 68030 (alle anderen) eingebaut. Der Hauptvorteil der Prozessoren 68020 und 68030 besteht darin, daß sie mit Coprozessoren, wie z.B. dem 68881, der für Gleitkommaberechnung zuständig ist, zusammenarbeiten. Ein weiterer großer Vorteil gegenüber dem 68000 liegt in der Möglichkeit, diese Prozessoren mit mehr als 16 MHz zu takten. Die Prozessoren 68020 und 68030 wurden als Weiterentwicklung des 68000 mit einigen zusätzlichen Befehlen ausgestattet. Viele Programmiersprachen, z.B. die von Apple, von THINK und von TML, unterstützen diese neue Befehle um die Programme schneller und kürzer zu machen. Wenn man nun Programme entwickelt und diese für den 68020 übersetzt, hat man zwar die oben erwähnten Vorteile, aber auch ein sehr großen Nachteil : Da der 68000 der kleinen Macs die neuen Befehle der Prozessoren 68020/30 nicht versteht, erscheint, sobald ein solcher Befehl auftritt, eine Bombe mit dem ID=3. Diese teilt dem Benutzer mit, daß eine “Illegal Instruction” aufgetreten ist, also ein ungültiger Befehl.
Genau hier hakt sich Sim020 ein. Es fängt die neuen 68020/30-Befehle ab und emuliert sie. Diese Emulation ist vollständig, daß heißt alle Informationen im Prozessor (die Register, das Statusregister u.s.w. ) sowie der Arbeitspseicher werden so verändert, wie sie auch auf einem 68020/30-Prozessor verändert würden. Es entstehen im normalen Betrieb also keine Bomben, Sim020 ist für den Benutzer vollkommen transparent.
2. Für wen ist Sim020 gedacht ?
Grundsätzlich ist Sim020 natürlich nur für Rechner mit dem Prozessor 68000 gedacht, bei Macs mit den Prozessoren 68020/30 erscheint Sim020 weder im Kontrollfeld noch beim Systemstart. Die Personen, für die Sim020 sinnvoll ist, kann man in zwei Gruppen einteilen.
2.1 Für den normalen Anwender
In diese Kategorie fallen wohl die meisten. Der normale Anwender möchte mit den vorhandenen Programmen arbeiten. Sim020 erweitert seine Palette. Er kann mit Sim020 Anwenderprogramme benutzen, die sonst den Besitzern von größeren Macs vorbehalten sind. Hier eine kleiner Auswahl von populären Programm :
a) SoftPC 1.3 Eine IBM XT-Emulation
b) OmniPage 2.0 Ein sehr starkes Zeichenerkennungsprogramm
2.2 Für den Entwickler von Software
Der Entwickler kann jetzt auch auf kleineren Macs Programme für den 68020/30 entwickeln und sie testen. Er brauch, wenn der Anwender Sim020 besitzt nur noch eine Version, seines Programmes zu erstellen, nämlich die für 68020/30 Prozessoren, und nicht wie früher zwei verschiedene.
Abschließend ist zu sagen, daß also Sim020 für jeden Anwender ein Muß ist. Wie oben erwähnt merkt der Benutzer nichts von seinem Vorhandensein. Sim020 belegt nur etwa 3 kByte im System-Heap und ist auch mit Entwicklerwerkzeugen, wie z.B. MacsBug voll verträglich. Weiterhin unbekannte Befehle werden wie gewohnt sicher abgefangen, entweder von dem System (Bombe) oder von dem installierten Debugger (z.B. MacsBug).
3. Im Kontrollfeld
…kann man den Sim020 mit vier CheckBoxen einstellen. Die oberen beiden erklären sich selbst. Wenn die CheckBox “68020 im System eintragen” angekreuzt ist, denkt der Mac er besäße habe ein 68020 eingebaut. Vor dem Start sollte jedes Anwenderprogramm überprüfen, ob der Mac den gestellten Anforderungen entspricht, ob er z.B. Farbe oder halt einen 68020 hat. Wenn diese Checkbox aus ist, denkt der Mac, er hätte einen 68000, er emuliert aber trotzdem die Befehle des 68020. Diese CheckBox muß nicht an sein, Soft PC und OmniPage prüfen z.B. nicht vorher, ob ein 68020 da ist, sie bomben einfach. Die CheckBox “Eigene Fehlerbehandlung” soll später einmal anstelle einer Bombe eine DialogBox zeigen, die die Rückkehr in den Finder ermöglicht. Dies ist nocht nicht implementiert !
4. Wo liegen die Einschränkungen ?
Wie oben erwähnt, emuliert Sim020 die neuen Befehle des 68020/30 komplett. Alle Befehle der Coprozessoren, wie die der Arithmetikprozessoren (FPU) 68881/82 oder der Speicherverwaltungseinheit (PMMU) 68851. Außerdem sollte man nicht vergessen, daß die Befehle “nur” emuliert werden. Zwar emuliert Sim020 die Befehle in Hinsich auf ihre Auswirkungen, aber nicht in ihrer Geschwindigkeit. Da aber erfahrungsgemäß in Programmen nur sehr wenige 68020/30-Befehle vorkommen, merkt der Benutzer im Normalfall nichts von der Emulation. Mir ist bis heute kein Programm bekannt, daß erheblich langsamer läuft, als auf dem entsprechendem Macs mit 68020 und gleicher Taktfrequenz.